#define KITTI // chose the LiDAR configuration

#ifdef KITTI // KITTI uses HDL64E Lidar
// Lidar vertical angles, unit: radian
const static float unprj_row_angles_const[16] = {0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, 0.22907499999999997, -0.2618};
// the reciprocal of the vertical angle resolution, unit: 1/radian
const static float reverse_step_row_angle = 1.0f/0.034907;
// beam number of the Lidar
const static int row_angles_size = 16;
// half of the vertical angle resolution, unit: radian
const static float half_row_angle_step = 0.034907*0.5;
// the index of the beginning row/col index
const static int first_index = 0;
// the index of the last row index
const static int last_rows_index = row_angles_size - 1;
// the reciprocal of the horizontal angle resolution, unit: 1/radian
const static float reverse_step_col_angle = 1.0f/0.00722205;
// half of the horizontal angle resolution, unit: radian
const static float half_col_angle_step = 0.00722205*0.5;
// the number of horizontal angles you want to segment, which impacts the accuracy and speed of the segmentation
const static int col_angles_size = 870;
// the index of the last col index
const static int last_cols_index = col_angles_size - 1;
// the horizontal angles, unit: radian
const static float unprj_col_angles_const[870] = {-3.141593, -3.134371, -3.127149, -3.119926, -3.112704, -3.105482, -3.09826, -3.091038, -3.083816, -3.076594, -3.069372, -3.06215, -3.054928, -3.047706, -3.040484, -3.033262, -3.02604, -3.018818, -3.011596, -3.004374, -2.997152, -2.98993, -2.982708, -2.975485, -2.968263, -2.961041, -2.953819, -2.946597, -2.939375, -2.932153, -2.924931, -2.917709, -2.910487, -2.903265, -2.896043, -2.888821, -2.881599, -2.874377, -2.867155, -2.859933, -2.852711, -2.845489, -2.838266, -2.831044, -2.823822, -2.8166, -2.809378, -2.802156, -2.794934, -2.787712, -2.78049, -2.773268, -2.766046, -2.758824, -2.751602, -2.74438, -2.737158, -2.729936, -2.722714, -2.715492, -2.70827, -2.701047, -2.693825, -2.686603, -2.679381, -2.672159, -2.664937, -2.657715, -2.650493, -2.643271, -2.636049, -2.628827, -2.621605, -2.614383, -2.607161, -2.599939, -2.592717, -2.585495, -2.578273, -2.571051, -2.563828, -2.556606, -2.549384, -2.542162, -2.53494, -2.527718, -2.520496, -2.513274, -2.506052, -2.49883, -2.491608, -2.484386, -2.477164, -2.469942, -2.46272, -2.455498, -2.448276, -2.441054, -2.433832, -2.426609, -2.419387, -2.412165, -2.404943, -2.397721, -2.390499, -2.383277, -2.376055, -2.368833, -2.361611, -2.354389, -2.347167, -2.339945, -2.332723, -2.325501, -2.318279, -2.311057, -2.303835, -2.296613, -2.289391, -2.282168, -2.274946, -2.267724, -2.260502, -2.25328, -2.246058, -2.238836, -2.231614, -2.224392, -2.21717, -2.209948, -2.202726, -2.195504, -2.188282, -2.18106, -2.173838, -2.166616, -2.159394, -2.152172, -2.144949, -2.137727, -2.130505, -2.123283, -2.116061, -2.108839, -2.101617, -2.094395, -2.087173, -2.079951, -2.072729, -2.065507, -2.058285, -2.051063, -2.043841, -2.036619, -2.029397, -2.022175, -2.014953, -2.00773, -2.000508, -1.993286, -1.986064, -1.978842, -1.97162, -1.964398, -1.957176, -1.949954, -1.942732, -1.93551, -1.928288, -1.921066, -1.913844, -1.906622, -1.8994, -1.892178, -1.884956, -1.877734, -1.870511, -1.863289, -1.856067, -1.848845, -1.841623, -1.834401, -1.827179, -1.819957, -1.812735, -1.805513, -1.798291, -1.791069, -1.783847, -1.776625, -1.769403, -1.762181, -1.754959, -1.747737, -1.740515, -1.733292, -1.72607, -1.718848, -1.711626, -1.704404, -1.697182, -1.68996, -1.682738, -1.675516, -1.668294, -1.661072, -1.65385, -1.646628, -1.639406, -1.632184, -1.624962, -1.61774, -1.610518, -1.603296, -1.596074, -1.588851, -1.581629, -1.574407, -1.567185, -1.559963, -1.552741, -1.545519, -1.538297, -1.531075, -1.523853, -1.516631, -1.509409, -1.502187, -1.494965, -1.487743, -1.480521, -1.473299, -1.466077, -1.458855, -1.451632, -1.44441, -1.437188, -1.429966, -1.422744, -1.415522, -1.4083, -1.401078, -1.393856, -1.386634, -1.379412, -1.37219, -1.364968, -1.357746, -1.350524, -1.343302, -1.33608, -1.328858, -1.321636, -1.314413, -1.307191, -1.299969, -1.292747, -1.285525, -1.278303, -1.271081, -1.263859, -1.256637, -1.249415, -1.242193, -1.234971, -1.227749, -1.220527, -1.213305, -1.206083, -1.198861, -1.191639, -1.184417, -1.177194, -1.169972, -1.16275, -1.155528, -1.148306, -1.141084, -1.133862, -1.12664, -1.119418, -1.112196, -1.104974, -1.097752, -1.09053, -1.083308, -1.076086, -1.068864, -1.061642, -1.05442, -1.047198, -1.039975, -1.032753, -1.025531, -1.018309, -1.011087, -1.003865, -0.996643, -0.989421, -0.982199, -0.974977, -0.967755, -0.960533, -0.953311, -0.946089, -0.938867, -0.931645, -0.924423, -0.917201, -0.909979, -0.902757, -0.895534, -0.888312, -0.88109, -0.873868, -0.866646, -0.859424, -0.852202, -0.84498, -0.837758, -0.830536, -0.823314, -0.816092, -0.80887, -0.801648, -0.794426, -0.787204, -0.779982, -0.77276, -0.765538, -0.758315, -0.751093, -0.743871, -0.736649, -0.729427, -0.722205, -0.714983, -0.707761, -0.700539, -0.693317, -0.686095, -0.678873, -0.671651, -0.664429, -0.657207, -0.649985, -0.642763, -0.635541, -0.628319, -0.621096, -0.613874, -0.606652, -0.59943, -0.592208, -0.584986, -0.577764, -0.570542, -0.56332, -0.556098, -0.548876, -0.541654, -0.534432, -0.52721, -0.519988, -0.512766, -0.505544, -0.498322, -0.4911, -0.483877, -0.476655, -0.469433, -0.462211, -0.454989, -0.447767, -0.440545, -0.433323, -0.426101, -0.418879, -0.411657, -0.404435, -0.397213, -0.389991, -0.382769, -0.375547, -0.368325, -0.361103, -0.353881, -0.346658, -0.339436, -0.332214, -0.324992, -0.31777, -0.310548, -0.303326, -0.296104, -0.288882, -0.28166, -0.274438, -0.267216, -0.259994, -0.252772, -0.24555, -0.238328, -0.231106, -0.223884, -0.216662, -0.20944, -0.202217, -0.194995, -0.187773, -0.180551, -0.173329, -0.166107, -0.158885, -0.151663, -0.144441, -0.137219, -0.129997, -0.122775, -0.115553, -0.108331, -0.101109, -0.093887, -0.086665, -0.079443, -0.072221, -0.064998, -0.057776, -0.050554, -0.043332, -0.03611, -0.028888, -0.021666, -0.014444, -0.007222, 0.0, 0.007222, 0.014444, 0.021666, 0.028888, 0.03611, 0.043332, 0.050554, 0.057776, 0.064998, 0.072221, 0.079443, 0.086665, 0.093887, 0.101109, 0.108331, 0.115553, 0.122775, 0.129997, 0.137219, 0.144441, 0.151663, 0.158885, 0.166107, 0.173329, 0.180551, 0.187773, 0.194995, 0.202217, 0.20944, 0.216662, 0.223884, 0.231106, 0.238328, 0.24555, 0.252772, 0.259994, 0.267216, 0.274438, 0.28166, 0.288882, 0.296104, 0.303326, 0.310548, 0.31777, 0.324992, 0.332214, 0.339436, 0.346658, 0.353881, 0.361103, 0.368325, 0.375547, 0.382769, 0.389991, 0.397213, 0.404435, 0.411657, 0.418879, 0.426101, 0.433323, 0.440545, 0.447767, 0.454989, 0.462211, 0.469433, 0.476655, 0.483877, 0.4911, 0.498322, 0.505544, 0.512766, 0.519988, 0.52721, 0.534432, 0.541654, 0.548876, 0.556098, 0.56332, 0.570542, 0.577764, 0.584986, 0.592208, 0.59943, 0.606652, 0.613874, 0.621096, 0.628319, 0.635541, 0.642763, 0.649985, 0.657207, 0.664429, 0.671651, 0.678873, 0.686095, 0.693317, 0.700539, 0.707761, 0.714983, 0.722205, 0.729427, 0.736649, 0.743871, 0.751093, 0.758315, 0.765538, 0.77276, 0.779982, 0.787204, 0.794426, 0.801648, 0.80887, 0.816092, 0.823314, 0.830536, 0.837758, 0.84498, 0.852202, 0.859424, 0.866646, 0.873868, 0.88109, 0.888312, 0.895534, 0.902757, 0.909979, 0.917201, 0.924423, 0.931645, 0.938867, 0.946089, 0.953311, 0.960533, 0.967755, 0.974977, 0.982199, 0.989421, 0.996643, 1.003865, 1.011087, 1.018309, 1.025531, 1.032753, 1.039975, 1.047198, 1.05442, 1.061642, 1.068864, 1.076086, 1.083308, 1.09053, 1.097752, 1.104974, 1.112196, 1.119418, 1.12664, 1.133862, 1.141084, 1.148306, 1.155528, 1.16275, 1.169972, 1.177194, 1.184417, 1.191639, 1.198861, 1.206083, 1.213305, 1.220527, 1.227749, 1.234971, 1.242193, 1.249415, 1.256637, 1.263859, 1.271081, 1.278303, 1.285525, 1.292747, 1.299969, 1.307191, 1.314413, 1.321636, 1.328858, 1.33608, 1.343302, 1.350524, 1.357746, 1.364968, 1.37219, 1.379412, 1.386634, 1.393856, 1.401078, 1.4083, 1.415522, 1.422744, 1.429966, 1.437188, 1.44441, 1.451632, 1.458855, 1.466077, 1.473299, 1.480521, 1.487743, 1.494965, 1.502187, 1.509409, 1.516631, 1.523853, 1.531075, 1.538297, 1.545519, 1.552741, 1.559963, 1.567185, 1.574407, 1.581629, 1.588851, 1.596074, 1.603296, 1.610518, 1.61774, 1.624962, 1.632184, 1.639406, 1.646628, 1.65385, 1.661072, 1.668294, 1.675516, 1.682738, 1.68996, 1.697182, 1.704404, 1.711626, 1.718848, 1.72607, 1.733292, 1.740515, 1.747737, 1.754959, 1.762181, 1.769403, 1.776625, 1.783847, 1.791069, 1.798291, 1.805513, 1.812735, 1.819957, 1.827179, 1.834401, 1.841623, 1.848845, 1.856067, 1.863289, 1.870511, 1.877734, 1.884956, 1.892178, 1.8994, 1.906622, 1.913844, 1.921066, 1.928288, 1.93551, 1.942732, 1.949954, 1.957176, 1.964398, 1.97162, 1.978842, 1.986064, 1.993286, 2.000508, 2.00773, 2.014953, 2.022175, 2.029397, 2.036619, 2.043841, 2.051063, 2.058285, 2.065507, 2.072729, 2.079951, 2.087173, 2.094395, 2.101617, 2.108839, 2.116061, 2.123283, 2.130505, 2.137727, 2.144949, 2.152172, 2.159394, 2.166616, 2.173838, 2.18106, 2.188282, 2.195504, 2.202726, 2.209948, 2.21717, 2.224392, 2.231614, 2.238836, 2.246058, 2.25328, 2.260502, 2.267724, 2.274946, 2.282168, 2.289391, 2.296613, 2.303835, 2.311057, 2.318279, 2.325501, 2.332723, 2.339945, 2.347167, 2.354389, 2.361611, 2.368833, 2.376055, 2.383277, 2.390499, 2.397721, 2.404943, 2.412165, 2.419387, 2.426609, 2.433832, 2.441054, 2.448276, 2.455498, 2.46272, 2.469942, 2.477164, 2.484386, 2.491608, 2.49883, 2.506052, 2.513274, 2.520496, 2.527718, 2.53494, 2.542162, 2.549384, 2.556606, 2.563828, 2.571051, 2.578273, 2.585495, 2.592717, 2.599939, 2.607161, 2.614383, 2.621605, 2.628827, 2.636049, 2.643271, 2.650493, 2.657715, 2.664937, 2.672159, 2.679381, 2.686603, 2.693825, 2.701047, 2.70827, 2.715492, 2.722714, 2.729936, 2.737158, 2.74438, 2.751602, 2.758824, 2.766046, 2.773268, 2.78049, 2.787712, 2.794934, 2.802156, 2.809378, 2.8166, 2.823822, 2.831044, 2.838266, 2.845489, 2.852711, 2.859933, 2.867155, 2.874377, 2.881599, 2.888821, 2.896043, 2.903265, 2.910487, 2.917709, 2.924931, 2.932153, 2.939375, 2.946597, 2.953819, 2.961041, 2.968263, 2.975485, 2.982708, 2.98993, 2.997152, 3.004374, 3.011596, 3.018818, 3.02604, 3.033262, 3.040484, 3.047706, 3.054928, 3.06215, 3.069372, 3.076594, 3.083816, 3.091038, 3.09826, 3.105482, 3.112704, 3.119926, 3.127149, 3.134371};
// the sensor installation height on your platform, unit: meter
const static double sensor_height = 2.0;
// the compensating distance, explained in the paper
const static float cpst_d_th = 0.3;
// the compensating vector, explained in the paper
const static int cpst[64] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4};
// the points satifying the following close-region condition will be ignored
const static double close_region_boundary_x_neg = -1.6; //rear boundary
const static double close_region_boundary_x_pos = 2.6; //front boundary
const static double close_region_boundary_y = 1.5; //left and right boundary

#elif KITTI_LITE //The LITE version with a smaller projection resolution
const static float unprj_row_angles_const[64] = {0.03490659, 0.02748201, 0.02005743, 0.01263286, 0.00520828, -0.00221629, -0.00964087, -0.01706544, -0.02449002, -0.03191459, -0.03933917, -0.04676374, -0.05418832, -0.06161289, -0.06903747, -0.07646204, -0.08388662, -0.09131119, -0.09873577, -0.10616034, -0.11358492, -0.12100949, -0.12843407, -0.13585865, -0.14328322, -0.1507078, -0.15813237, -0.16555695, -0.17298152, -0.1804061, -0.18783067, -0.19525525, -0.20267982, -0.2101044, -0.21752897, -0.22495355, -0.23237812, -0.2398027, -0.24722727, -0.25465185, -0.26207642, -0.269501, -0.27692557, -0.28435015, -0.29177473, -0.2991993, -0.30662388, -0.31404845, -0.32147303, -0.3288976, -0.33632218, -0.34374675, -0.35117133, -0.3585959, -0.36602048, -0.37344505, -0.38086963, -0.3882942, -0.39571878, -0.40314335, -0.41056793, -0.4179925, -0.42541708, -0.43284165};
const static float reverse_step_row_angle = 1.0f/0.00742458;
const static int row_angles_size = 64;
const static float half_row_angle_step = 0.00742458*0.5;
const static int first_index = 0;
const static int last_rows_index = row_angles_size - 1;
const static float reverse_step_col_angle = 1.0f/0.01745329;
const static float half_col_angle_step = 0.01745329*0.5;
const static int col_angles_size = 360;
const static int last_cols_index = col_angles_size - 1;
const static float unprj_col_angles_const[360] = {-3.141593, -3.124139, -3.106686, -3.089233, -3.071779, -3.054326, -3.036873, -3.01942, -3.001966, -2.984513, -2.96706, -2.949606, -2.932153, -2.9147, -2.897247, -2.879793, -2.86234, -2.844887, -2.827433, -2.80998, -2.792527, -2.775074, -2.75762, -2.740167, -2.722714, -2.70526, -2.687807, -2.670354, -2.6529, -2.635447, -2.617994, -2.600541, -2.583087, -2.565634, -2.548181, -2.530727, -2.513274, -2.495821, -2.478368, -2.460914, -2.443461, -2.426008, -2.408554, -2.391101, -2.373648, -2.356194, -2.338741, -2.321288, -2.303835, -2.286381, -2.268928, -2.251475, -2.234021, -2.216568, -2.199115, -2.181662, -2.164208, -2.146755, -2.129302, -2.111848, -2.094395, -2.076942, -2.059489, -2.042035, -2.024582, -2.007129, -1.989675, -1.972222, -1.954769, -1.937315, -1.919862, -1.902409, -1.884956, -1.867502, -1.850049, -1.832596, -1.815142, -1.797689, -1.780236, -1.762783, -1.745329, -1.727876, -1.710423, -1.692969, -1.675516, -1.658063, -1.640609, -1.623156, -1.605703, -1.58825, -1.570796, -1.553343, -1.53589, -1.518436, -1.500983, -1.48353, -1.466077, -1.448623, -1.43117, -1.413717, -1.396263, -1.37881, -1.361357, -1.343904, -1.32645, -1.308997, -1.291544, -1.27409, -1.256637, -1.239184, -1.22173, -1.204277, -1.186824, -1.169371, -1.151917, -1.134464, -1.117011, -1.099557, -1.082104, -1.064651, -1.047198, -1.029744, -1.012291, -0.994838, -0.977384, -0.959931, -0.942478, -0.925025, -0.907571, -0.890118, -0.872665, -0.855211, -0.837758, -0.820305, -0.802851, -0.785398, -0.767945, -0.750492, -0.733038, -0.715585, -0.698132, -0.680678, -0.663225, -0.645772, -0.628319, -0.610865, -0.593412, -0.575959, -0.558505, -0.541052, -0.523599, -0.506145, -0.488692, -0.471239, -0.453786, -0.436332, -0.418879, -0.401426, -0.383972, -0.366519, -0.349066, -0.331613, -0.314159, -0.296706, -0.279253, -0.261799, -0.244346, -0.226893, -0.20944, -0.191986, -0.174533, -0.15708, -0.139626, -0.122173, -0.10472, -0.087266, -0.069813, -0.05236, -0.034907, -0.017453, 0.0, 0.017453, 0.034907, 0.05236, 0.069813, 0.087266, 0.10472, 0.122173, 0.139626, 0.15708, 0.174533, 0.191986, 0.20944, 0.226893, 0.244346, 0.261799, 0.279253, 0.296706, 0.314159, 0.331613, 0.349066, 0.366519, 0.383972, 0.401426, 0.418879, 0.436332, 0.453786, 0.471239, 0.488692, 0.506145, 0.523599, 0.541052, 0.558505, 0.575959, 0.593412, 0.610865, 0.628319, 0.645772, 0.663225, 0.680678, 0.698132, 0.715585, 0.733038, 0.750492, 0.767945, 0.785398, 0.802851, 0.820305, 0.837758, 0.855211, 0.872665, 0.890118, 0.907571, 0.925025, 0.942478, 0.959931, 0.977384, 0.994838, 1.012291, 1.029744, 1.047198, 1.064651, 1.082104, 1.099557, 1.117011, 1.134464, 1.151917, 1.169371, 1.186824, 1.204277, 1.22173, 1.239184, 1.256637, 1.27409, 1.291544, 1.308997, 1.32645, 1.343904, 1.361357, 1.37881, 1.396263, 1.413717, 1.43117, 1.448623, 1.466077, 1.48353, 1.500983, 1.518436, 1.53589, 1.553343, 1.570796, 1.58825, 1.605703, 1.623156, 1.640609, 1.658063, 1.675516, 1.692969, 1.710423, 1.727876, 1.745329, 1.762783, 1.780236, 1.797689, 1.815142, 1.832596, 1.850049, 1.867502, 1.884956, 1.902409, 1.919862, 1.937315, 1.954769, 1.972222, 1.989675, 2.007129, 2.024582, 2.042035, 2.059489, 2.076942, 2.094395, 2.111848, 2.129302, 2.146755, 2.164208, 2.181662, 2.199115, 2.216568, 2.234021, 2.251475, 2.268928, 2.286381, 2.303835, 2.321288, 2.338741, 2.356194, 2.373648, 2.391101, 2.408554, 2.426008, 2.443461, 2.460914, 2.478368, 2.495821, 2.513274, 2.530727, 2.548181, 2.565634, 2.583087, 2.600541, 2.617994, 2.635447, 2.6529, 2.670354, 2.687807, 2.70526, 2.722714, 2.740167, 2.75762, 2.775074, 2.792527, 2.80998, 2.827433, 2.844887, 2.86234, 2.879793, 2.897247, 2.9147, 2.932153, 2.949606, 2.96706, 2.984513, 3.001966, 3.01942, 3.036873, 3.054326, 3.071779, 3.089233, 3.106686, 3.124139};
const static float cpst_d_th = 0.3;
const static int cpst[64] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4};
const static double sensor_height = 1.73; 
const static double close_region_boundary_x_neg = -1.6; //rear boundary
const static double close_region_boundary_x_pos = 2.6; //front boundary
const static double close_region_boundary_y = 1.5; //left and right boundary

#elif NUSCENES // nuscenes use HDL32E
const static float unprj_row_angles_const[32] = {0.18622663, 0.16295182, 0.13967701, 0.1164022, 0.09312739, 0.06985258, 0.04657777, 0.02330296, 2.815e-05, -0.02324666, -0.04652147, -0.06979628, -0.09307109, -0.1163459, -0.13962071, -0.16289552, -0.18617033, -0.20944514, -0.23271995, -0.25599476, -0.27926957, -0.30254438, -0.32581919, -0.349094, -0.37236881, -0.39564362, -0.41891843, -0.44219324, -0.46546805, -0.48874286, -0.51201767, -0.53529248};
const static float reverse_step_row_angle = 1.0f/0.02327481;
const static int row_angles_size = 32;
const static float half_row_angle_step = 0.02327481*0.5;
const static int first_index = 0;
const static int last_rows_index = row_angles_size - 1;
const static float reverse_step_col_angle = 1.0f/0.00722205;
const static float half_col_angle_step = 0.00722205*0.5;
const static int col_angles_size = 870;
const static int last_cols_index = col_angles_size - 1;
const static float unprj_col_angles_const[870] = {-3.141593, -3.134371, -3.127149, -3.119926, -3.112704, -3.105482, -3.09826, -3.091038, -3.083816, -3.076594, -3.069372, -3.06215, -3.054928, -3.047706, -3.040484, -3.033262, -3.02604, -3.018818, -3.011596, -3.004374, -2.997152, -2.98993, -2.982708, -2.975485, -2.968263, -2.961041, -2.953819, -2.946597, -2.939375, -2.932153, -2.924931, -2.917709, -2.910487, -2.903265, -2.896043, -2.888821, -2.881599, -2.874377, -2.867155, -2.859933, -2.852711, -2.845489, -2.838266, -2.831044, -2.823822, -2.8166, -2.809378, -2.802156, -2.794934, -2.787712, -2.78049, -2.773268, -2.766046, -2.758824, -2.751602, -2.74438, -2.737158, -2.729936, -2.722714, -2.715492, -2.70827, -2.701047, -2.693825, -2.686603, -2.679381, -2.672159, -2.664937, -2.657715, -2.650493, -2.643271, -2.636049, -2.628827, -2.621605, -2.614383, -2.607161, -2.599939, -2.592717, -2.585495, -2.578273, -2.571051, -2.563828, -2.556606, -2.549384, -2.542162, -2.53494, -2.527718, -2.520496, -2.513274, -2.506052, -2.49883, -2.491608, -2.484386, -2.477164, -2.469942, -2.46272, -2.455498, -2.448276, -2.441054, -2.433832, -2.426609, -2.419387, -2.412165, -2.404943, -2.397721, -2.390499, -2.383277, -2.376055, -2.368833, -2.361611, -2.354389, -2.347167, -2.339945, -2.332723, -2.325501, -2.318279, -2.311057, -2.303835, -2.296613, -2.289391, -2.282168, -2.274946, -2.267724, -2.260502, -2.25328, -2.246058, -2.238836, -2.231614, -2.224392, -2.21717, -2.209948, -2.202726, -2.195504, -2.188282, -2.18106, -2.173838, -2.166616, -2.159394, -2.152172, -2.144949, -2.137727, -2.130505, -2.123283, -2.116061, -2.108839, -2.101617, -2.094395, -2.087173, -2.079951, -2.072729, -2.065507, -2.058285, -2.051063, -2.043841, -2.036619, -2.029397, -2.022175, -2.014953, -2.00773, -2.000508, -1.993286, -1.986064, -1.978842, -1.97162, -1.964398, -1.957176, -1.949954, -1.942732, -1.93551, -1.928288, -1.921066, -1.913844, -1.906622, -1.8994, -1.892178, -1.884956, -1.877734, -1.870511, -1.863289, -1.856067, -1.848845, -1.841623, -1.834401, -1.827179, -1.819957, -1.812735, -1.805513, -1.798291, -1.791069, -1.783847, -1.776625, -1.769403, -1.762181, -1.754959, -1.747737, -1.740515, -1.733292, -1.72607, -1.718848, -1.711626, -1.704404, -1.697182, -1.68996, -1.682738, -1.675516, -1.668294, -1.661072, -1.65385, -1.646628, -1.639406, -1.632184, -1.624962, -1.61774, -1.610518, -1.603296, -1.596074, -1.588851, -1.581629, -1.574407, -1.567185, -1.559963, -1.552741, -1.545519, -1.538297, -1.531075, -1.523853, -1.516631, -1.509409, -1.502187, -1.494965, -1.487743, -1.480521, -1.473299, -1.466077, -1.458855, -1.451632, -1.44441, -1.437188, -1.429966, -1.422744, -1.415522, -1.4083, -1.401078, -1.393856, -1.386634, -1.379412, -1.37219, -1.364968, -1.357746, -1.350524, -1.343302, -1.33608, -1.328858, -1.321636, -1.314413, -1.307191, -1.299969, -1.292747, -1.285525, -1.278303, -1.271081, -1.263859, -1.256637, -1.249415, -1.242193, -1.234971, -1.227749, -1.220527, -1.213305, -1.206083, -1.198861, -1.191639, -1.184417, -1.177194, -1.169972, -1.16275, -1.155528, -1.148306, -1.141084, -1.133862, -1.12664, -1.119418, -1.112196, -1.104974, -1.097752, -1.09053, -1.083308, -1.076086, -1.068864, -1.061642, -1.05442, -1.047198, -1.039975, -1.032753, -1.025531, -1.018309, -1.011087, -1.003865, -0.996643, -0.989421, -0.982199, -0.974977, -0.967755, -0.960533, -0.953311, -0.946089, -0.938867, -0.931645, -0.924423, -0.917201, -0.909979, -0.902757, -0.895534, -0.888312, -0.88109, -0.873868, -0.866646, -0.859424, -0.852202, -0.84498, -0.837758, -0.830536, -0.823314, -0.816092, -0.80887, -0.801648, -0.794426, -0.787204, -0.779982, -0.77276, -0.765538, -0.758315, -0.751093, -0.743871, -0.736649, -0.729427, -0.722205, -0.714983, -0.707761, -0.700539, -0.693317, -0.686095, -0.678873, -0.671651, -0.664429, -0.657207, -0.649985, -0.642763, -0.635541, -0.628319, -0.621096, -0.613874, -0.606652, -0.59943, -0.592208, -0.584986, -0.577764, -0.570542, -0.56332, -0.556098, -0.548876, -0.541654, -0.534432, -0.52721, -0.519988, -0.512766, -0.505544, -0.498322, -0.4911, -0.483877, -0.476655, -0.469433, -0.462211, -0.454989, -0.447767, -0.440545, -0.433323, -0.426101, -0.418879, -0.411657, -0.404435, -0.397213, -0.389991, -0.382769, -0.375547, -0.368325, -0.361103, -0.353881, -0.346658, -0.339436, -0.332214, -0.324992, -0.31777, -0.310548, -0.303326, -0.296104, -0.288882, -0.28166, -0.274438, -0.267216, -0.259994, -0.252772, -0.24555, -0.238328, -0.231106, -0.223884, -0.216662, -0.20944, -0.202217, -0.194995, -0.187773, -0.180551, -0.173329, -0.166107, -0.158885, -0.151663, -0.144441, -0.137219, -0.129997, -0.122775, -0.115553, -0.108331, -0.101109, -0.093887, -0.086665, -0.079443, -0.072221, -0.064998, -0.057776, -0.050554, -0.043332, -0.03611, -0.028888, -0.021666, -0.014444, -0.007222, 0.0, 0.007222, 0.014444, 0.021666, 0.028888, 0.03611, 0.043332, 0.050554, 0.057776, 0.064998, 0.072221, 0.079443, 0.086665, 0.093887, 0.101109, 0.108331, 0.115553, 0.122775, 0.129997, 0.137219, 0.144441, 0.151663, 0.158885, 0.166107, 0.173329, 0.180551, 0.187773, 0.194995, 0.202217, 0.20944, 0.216662, 0.223884, 0.231106, 0.238328, 0.24555, 0.252772, 0.259994, 0.267216, 0.274438, 0.28166, 0.288882, 0.296104, 0.303326, 0.310548, 0.31777, 0.324992, 0.332214, 0.339436, 0.346658, 0.353881, 0.361103, 0.368325, 0.375547, 0.382769, 0.389991, 0.397213, 0.404435, 0.411657, 0.418879, 0.426101, 0.433323, 0.440545, 0.447767, 0.454989, 0.462211, 0.469433, 0.476655, 0.483877, 0.4911, 0.498322, 0.505544, 0.512766, 0.519988, 0.52721, 0.534432, 0.541654, 0.548876, 0.556098, 0.56332, 0.570542, 0.577764, 0.584986, 0.592208, 0.59943, 0.606652, 0.613874, 0.621096, 0.628319, 0.635541, 0.642763, 0.649985, 0.657207, 0.664429, 0.671651, 0.678873, 0.686095, 0.693317, 0.700539, 0.707761, 0.714983, 0.722205, 0.729427, 0.736649, 0.743871, 0.751093, 0.758315, 0.765538, 0.77276, 0.779982, 0.787204, 0.794426, 0.801648, 0.80887, 0.816092, 0.823314, 0.830536, 0.837758, 0.84498, 0.852202, 0.859424, 0.866646, 0.873868, 0.88109, 0.888312, 0.895534, 0.902757, 0.909979, 0.917201, 0.924423, 0.931645, 0.938867, 0.946089, 0.953311, 0.960533, 0.967755, 0.974977, 0.982199, 0.989421, 0.996643, 1.003865, 1.011087, 1.018309, 1.025531, 1.032753, 1.039975, 1.047198, 1.05442, 1.061642, 1.068864, 1.076086, 1.083308, 1.09053, 1.097752, 1.104974, 1.112196, 1.119418, 1.12664, 1.133862, 1.141084, 1.148306, 1.155528, 1.16275, 1.169972, 1.177194, 1.184417, 1.191639, 1.198861, 1.206083, 1.213305, 1.220527, 1.227749, 1.234971, 1.242193, 1.249415, 1.256637, 1.263859, 1.271081, 1.278303, 1.285525, 1.292747, 1.299969, 1.307191, 1.314413, 1.321636, 1.328858, 1.33608, 1.343302, 1.350524, 1.357746, 1.364968, 1.37219, 1.379412, 1.386634, 1.393856, 1.401078, 1.4083, 1.415522, 1.422744, 1.429966, 1.437188, 1.44441, 1.451632, 1.458855, 1.466077, 1.473299, 1.480521, 1.487743, 1.494965, 1.502187, 1.509409, 1.516631, 1.523853, 1.531075, 1.538297, 1.545519, 1.552741, 1.559963, 1.567185, 1.574407, 1.581629, 1.588851, 1.596074, 1.603296, 1.610518, 1.61774, 1.624962, 1.632184, 1.639406, 1.646628, 1.65385, 1.661072, 1.668294, 1.675516, 1.682738, 1.68996, 1.697182, 1.704404, 1.711626, 1.718848, 1.72607, 1.733292, 1.740515, 1.747737, 1.754959, 1.762181, 1.769403, 1.776625, 1.783847, 1.791069, 1.798291, 1.805513, 1.812735, 1.819957, 1.827179, 1.834401, 1.841623, 1.848845, 1.856067, 1.863289, 1.870511, 1.877734, 1.884956, 1.892178, 1.8994, 1.906622, 1.913844, 1.921066, 1.928288, 1.93551, 1.942732, 1.949954, 1.957176, 1.964398, 1.97162, 1.978842, 1.986064, 1.993286, 2.000508, 2.00773, 2.014953, 2.022175, 2.029397, 2.036619, 2.043841, 2.051063, 2.058285, 2.065507, 2.072729, 2.079951, 2.087173, 2.094395, 2.101617, 2.108839, 2.116061, 2.123283, 2.130505, 2.137727, 2.144949, 2.152172, 2.159394, 2.166616, 2.173838, 2.18106, 2.188282, 2.195504, 2.202726, 2.209948, 2.21717, 2.224392, 2.231614, 2.238836, 2.246058, 2.25328, 2.260502, 2.267724, 2.274946, 2.282168, 2.289391, 2.296613, 2.303835, 2.311057, 2.318279, 2.325501, 2.332723, 2.339945, 2.347167, 2.354389, 2.361611, 2.368833, 2.376055, 2.383277, 2.390499, 2.397721, 2.404943, 2.412165, 2.419387, 2.426609, 2.433832, 2.441054, 2.448276, 2.455498, 2.46272, 2.469942, 2.477164, 2.484386, 2.491608, 2.49883, 2.506052, 2.513274, 2.520496, 2.527718, 2.53494, 2.542162, 2.549384, 2.556606, 2.563828, 2.571051, 2.578273, 2.585495, 2.592717, 2.599939, 2.607161, 2.614383, 2.621605, 2.628827, 2.636049, 2.643271, 2.650493, 2.657715, 2.664937, 2.672159, 2.679381, 2.686603, 2.693825, 2.701047, 2.70827, 2.715492, 2.722714, 2.729936, 2.737158, 2.74438, 2.751602, 2.758824, 2.766046, 2.773268, 2.78049, 2.787712, 2.794934, 2.802156, 2.809378, 2.8166, 2.823822, 2.831044, 2.838266, 2.845489, 2.852711, 2.859933, 2.867155, 2.874377, 2.881599, 2.888821, 2.896043, 2.903265, 2.910487, 2.917709, 2.924931, 2.932153, 2.939375, 2.946597, 2.953819, 2.961041, 2.968263, 2.975485, 2.982708, 2.98993, 2.997152, 3.004374, 3.011596, 3.018818, 3.02604, 3.033262, 3.040484, 3.047706, 3.054928, 3.06215, 3.069372, 3.076594, 3.083816, 3.091038, 3.09826, 3.105482, 3.112704, 3.119926, 3.127149, 3.134371};
const static float cpst_d_th = 0.3;
const static int cpst[32] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2};
const static double sensor_height = 1.84;
const static double close_region_boundary_x_neg = -1.6; //rear boundary
const static double close_region_boundary_x_pos = 2.6; //front boundary
const static double close_region_boundary_y = 1.6; //left and right boundary

#elif YOURLIDAR_CONFIG
// your lidar config here, you can refer to the KITTI config to modify

#endif
